package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.ProductBean;

import java.time.LocalDate;

public interface IProductService {
/*

1、完成商品的添加
2、按id删除商品。
3、按id修改价格
4、按id查询商品
5、按商品名、价格范围 动态条件分页查询商品
6、按厂家、生产日期时间段，动态条件分页查询商品
 */

    /**
     * 添加商品
     * @param productBean 商品对象
     */
    public void add(ProductBean productBean);

    /**
     * 根据id删除商品
     * @param id 商品编号
     */
    public void del(int id);

    /**
     * 根据商品id修改价格
     * @param id 商品编号
     * @param price 新单价
     */
    public void update(int id,int price);

    /**
     * 根据id查询商品
     * @param id 商品编号
     * @return 返回商品对象
     */
    public ProductBean findById(int id);
    /**
     *  5、按商品名、价格范围 动态条件分页查询商品
     * @param pageNo 第几页的页码
     * @param name 商品名
     * @param minPrice 最低价格
     * @param maxPrice 最高价格
     * @return 返回符合条件的分页对象
     */
    public CutPageBean<ProductBean> cutByNamePrice(int pageNo,
            String name, int minPrice, int maxPrice);

    /**
     * 6、按厂家、生产日期时间段，动态条件分页查询商品
     * @param pageNo 第几页的页码
     * @param factory 厂家
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 返回符合条件的分页对象
     */
    public CutPageBean<ProductBean> cutByItem(
            int pageNo, String factory, LocalDate startDate,LocalDate endDate
            );
}
